#pragma once
#include "sgobject.h"
#include "SgPtr.h"
#include <list>

class CSgComposite : public CSgObject
{
	public:
		CSgComposite();
		virtual ~CSgComposite();
		virtual void Render();
		void AddChild(CSgObject *child) {m_children.push_back(child);}
		void RemoveChildren(){m_children.clear();}
	private:
		// A polygon is a list of vertices
		std::list< CSgPtr<CSgObject> > m_children;
};